1. Field of the Invention
The present invention relates to network communications and more particularly to mechanisms for providing notification to wireless devices of power consumption levels associated with downloading of web content (e.g., web pages, objects, files, applications, etc.). The notification methods give the user of the wireless device the opportunity to decline to download the content if the battery level of the wireless device is low or will become low if it proceeds with the download. The invention also relates to a proxy computing platform, referred to herein as an “intermediation platform,” in the communication path between the client station and the content server that provides power consumption ratings or notices to wireless devices.
2. Description of Related Art
In recent years, usage of the Internet and the World Wide Web have become ubiquitous. The sheer volume of information and services available at any time via the Internet is astounding, and continues to grow constantly. As such, users often turn to the Internet to communicate with others, to receive information, to shop, to be entertained, to meet people, and for assorted other reasons.
As its name implies, the Internet is a network of computer networks. The world wide web is, in turn, an application environment that runs on the Internet, powered by web servers and web browsers. A web server stores or has access to “web pages” made up of various objects (e.g., text, graphics, audio, video or other media and logic) and can send the pages to web browsers that access the server via hypertext transfer protocol (HTTP) or another agreed protocol.
A web page is usually defined by a set of markup language, such as hypertext markup language (HTML), wireless markup language (WML), handheld device markup language (HTML), extensible hypertext markup language (XHTML) or compact HTML (cHTML) for instance. The markup language typically specifies text to be displayed and includes tags that direct the browser to carry out various functions. For instance, a tag can direct the browser to display text in a particular manner. A tag can also direct the browser to request and load other objects, such as images or sound files, to be presented as part of the web page. Or as another example, a tag can direct the browser to display a hyperlink that points to another web page or object (or generally referencing any other web content).
(Note that markup language could take other forms as well. As one other example, for instance, a markup language such as voice extensible markup language (VXML) could include voice-tags that direct a browser to play out speech messages to a user. In that event, the client station might be a voice command platform with which a user communicates via a telephone link. Still other examples are also possible.) A user operating a web browser on a client station can direct the web browser to navigate to a particular web page or to load other web content. To do so, the user may select or enter into the browser a universal resource identifier (URI), typically a universal resource locator (URL), which points to a host web server, usually by a domain name, and identifies the requested content, usually by a path and filename. In response, the browser will then generate and send to the web server an HTTP “GET” request message, which indicates the URI. When the server receives the GET request, if the requested content is available, the server will then respond by sending to the browser an HTTP “200 OK” response message that includes the requested content. And when the browser receives the HTTP response, the browser will then present the content to the user.
As is well known, Internet communications occur through a defined set of protocol layers, including an application layer, a transport layer, a network layer and a physical layer. Applications, such as a web browser and a web server, communicate with each other according to an application layer protocol, such as HTTP. And those communications are then arranged as data packets, which are passed between the applications according to a transport layer protocol such as TCP and between network nodes according to the network layer IP protocol. Each packet typically bears a TCP/IP header, which indicates source and destination IP addresses as well as source and destination TCP ports associated with the respective applications.
In order for a web client to engage in HTTP communication with a web server, the client and server will first establish a TCP “socket” or “connection” between each other. The client then sends an HTTP GET request in the TCP socket, typically through one or more routers, switches and/or proxies, to the IP address of the server. The server responds by sending a 200 OK response in the TCP socket to the IP address of the client.
Alternatively, the web client may open up a first TCP socket with a designated proxy server, and the proxy may open up a second TCP socket with the web server. The web client may then send an HTTP GET request in the first TCP socket to the proxy, and the proxy may then send the HTTP GET request in the second TCP socket to the IP address of the web server. In turn, the web server may send a 200 OK response in the second TCP socket to the proxy, and the proxy may then send the 200 OK response in the first TCP socket to the IP address of the web client.
Wireless communications devices, such as personal digital assistances, pocket PC computers, and even cellular phones, now often include software which enable the devices to browse the Internet and download content. Such devices, being mobile in nature, are powered by a built-in, rechargeable battery. While battery power is unavoidably consumed in web browsing activity, some types of web pages require more battery consumption than others. In particular, downloading large multimedia content files, such as audio and video content, typically consumes much more battery power than say downloading of a text document or engaging in two way voice communication. As another example, playing interactive games with another player over the Internet typically consumes more battery power than viewing a web page with simple text and graphics.
In current practice, a wireless device may be conducting web browsing and engaging in downloading content or playing interactive games to the point where the battery level is so depleted that the operator has only a few minutes of life left in which to place a simple phone call, or may become depleted entirely. While most wireless devices have a battery icon to indicate remaining life, such icons are only measuring the current situation and do not offer the user any ability to gauge whether certain contemplated web-based actions will adversely affect battery life. There is a need in the art to provide a mechanism to notify wireless device users of the power level consumption that is to be expected based on the type or characteristics of the file they are attempting to download. There is a further need to alert the devices that a particular download activity may deplete their battery and to give them the opportunity to abort or avoid the download activity where their battery will be deleted (or have only a little life left) if they proceed. This invention meets that need.